<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../../assets/img/favicon-144.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="../../assets/img/favicon-144.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="../../assets/img/favicon-72.png">
<link rel="apple-touch-icon-precomposed" href="../../assets/img/favicon-32.png">
<link rel="shortcut icon" href="../../assets/img/favicon-32.png">

<link rel="stylesheet" href="../../assets/css/vk.css"/>
<link rel="stylesheet" href="../../assets/css/prism.css"/>


<vk-title>VkExternalMemoryHandleTypeFlagBits | NVK</vk-title>

<vk-centered>

  <vk-navigation>
  <vk-search-title>Search</vk-search-title>
  <vk-search>
    <input type="text" id="search" autocomplete="off" />
    <vk-search-results>
      <ol id="search-list">
        <li id="no-search-results">No Results</li>
      </ol>
    </vk-search-results>
  </vk-search>
  <vk-section-title style="margin-top: 1em;">Categories</vk-section-title>
  <vk-categories></vk-categories>
</vk-navigation>


  <vk-struct>

    <vk-name>VkExternalMemoryHandleTypeFlagBits</vk-name>

    <vk-description>Bit specifying external memory handle types</vk-description>

    <vk-section-title>Stub</vk-section-title>
    <vk-stub>
      <pre><code class="language-js">VkExternalMemoryHandleTypeFlagBits = {
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT: 0x1,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT: 0x2,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT: 0x4,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT: 0x8,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT: 0x10,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT: 0x20,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT: 0x40,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT: 0x200,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID: 0x400,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT: 0x80,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT: 0x100,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR: VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR: VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR: VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR: VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR: VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR: VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR: VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT
};</code></pre>
    </vk-stub>

    <vk-section-title>Properties</vk-section-title>

    <vk-properties>
      <vk-property-entry>
        <vk-property-prototype>VkExternalMemoryHandleTypeFlagBits.<vk-prototype-name>VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT</vk-prototype-name></vk-property-prototype>
        <vk-property-description> specifies a POSIX file descriptor handle that has only limited valid usage outside of Vulkan and other compatible APIs. It <i>must</i> be compatible with the POSIX system calls <i>dup</i>, <i>dup2</i>, <i>close</i>, and the non-standard system call <i>dup3</i>. Additionally, it <i>must</i> be transportable over a socket using an <i>SCM_RIGHTS</i> control message. It owns a reference to the underlying memory resource represented by its Vulkan memory object.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkExternalMemoryHandleTypeFlagBits.<vk-prototype-name>VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT</vk-prototype-name></vk-property-prototype>
        <vk-property-description> specifies an NT handle that has only limited valid usage outside of Vulkan and other compatible APIs. It <i>must</i> be compatible with the functions <i>DuplicateHandle</i>, <i>CloseHandle</i>, <i>CompareObjectHandles</i>, <i>GetHandleInformation</i>, and <i>SetHandleInformation</i>. It owns a reference to the underlying memory resource represented by its Vulkan memory object.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkExternalMemoryHandleTypeFlagBits.<vk-prototype-name>VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT</vk-prototype-name></vk-property-prototype>
        <vk-property-description> specifies a global share handle that has only limited valid usage outside of Vulkan and other compatible APIs. It is not compatible with any native APIs. It does not own a reference to the underlying memory resource represented its Vulkan memory object, and will therefore become invalid when all Vulkan memory objects associated with it are destroyed.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkExternalMemoryHandleTypeFlagBits.<vk-prototype-name>VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT</vk-prototype-name></vk-property-prototype>
        <vk-property-description> specifies an NT handle returned by <i>IDXGIResource1</i>::<i>CreateSharedHandle</i> referring to a Direct3D 10 or 11 texture resource. It owns a reference to the memory used by the Direct3D resource.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkExternalMemoryHandleTypeFlagBits.<vk-prototype-name>VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT</vk-prototype-name></vk-property-prototype>
        <vk-property-description> specifies a global share handle returned by <i>IDXGIResource</i>::<i>GetSharedHandle</i> referring to a Direct3D 10 or 11 texture resource. It does not own a reference to the underlying Direct3D resource, and will therefore become invalid when all Vulkan memory objects and Direct3D resources associated with it are destroyed.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkExternalMemoryHandleTypeFlagBits.<vk-prototype-name>VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT</vk-prototype-name></vk-property-prototype>
        <vk-property-description> specifies an NT handle returned by <i>ID3D12Device</i>::<i>CreateSharedHandle</i> referring to a Direct3D 12 heap resource. It owns a reference to the resources used by the Direct3D heap.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkExternalMemoryHandleTypeFlagBits.<vk-prototype-name>VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT</vk-prototype-name></vk-property-prototype>
        <vk-property-description> specifies an NT handle returned by <i>ID3D12Device</i>::<i>CreateSharedHandle</i> referring to a Direct3D 12 committed resource. It owns a reference to the memory used by the Direct3D resource.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkExternalMemoryHandleTypeFlagBits.<vk-prototype-name>VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT</vk-prototype-name></vk-property-prototype>
        <vk-property-description></vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkExternalMemoryHandleTypeFlagBits.<vk-prototype-name>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID</vk-prototype-name></vk-property-prototype>
        <vk-property-description></vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkExternalMemoryHandleTypeFlagBits.<vk-prototype-name>VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT</vk-prototype-name></vk-property-prototype>
        <vk-property-description> specifies a host reference returned by a host memory allocation command. It does not own a reference to the underlying memory resource, and will therefore become invalid if the host memory is freed.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkExternalMemoryHandleTypeFlagBits.<vk-prototype-name>VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT</vk-prototype-name></vk-property-prototype>
        <vk-property-description> specifies a host reference to _host mapped foreign memory_. It does not own a reference to the underlying memory resource, and will therefore become invalid if the foreign memory is unmapped or otherwise becomes no longer available.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkExternalMemoryHandleTypeFlagBits.<vk-prototype-name>VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR</vk-prototype-name></vk-property-prototype>
        <vk-property-description></vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkExternalMemoryHandleTypeFlagBits.<vk-prototype-name>VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR</vk-prototype-name></vk-property-prototype>
        <vk-property-description></vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkExternalMemoryHandleTypeFlagBits.<vk-prototype-name>VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR</vk-prototype-name></vk-property-prototype>
        <vk-property-description></vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkExternalMemoryHandleTypeFlagBits.<vk-prototype-name>VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR</vk-prototype-name></vk-property-prototype>
        <vk-property-description></vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkExternalMemoryHandleTypeFlagBits.<vk-prototype-name>VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR</vk-prototype-name></vk-property-prototype>
        <vk-property-description></vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkExternalMemoryHandleTypeFlagBits.<vk-prototype-name>VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR</vk-prototype-name></vk-property-prototype>
        <vk-property-description></vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkExternalMemoryHandleTypeFlagBits.<vk-prototype-name>VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR</vk-prototype-name></vk-property-prototype>
        <vk-property-description></vk-property-description>
      </vk-property-entry>
      
    </vk-properties>

  </vk-struct>

</vk-centered>

<script>
const IS_ROOT = false;
</script>

<script type="text/javascript" src="../../assets/js/prism.min.js"></script>
<script type="text/javascript" src="../../assets/js/index.js"></script>
